package cn.sytton.taffecloud.service.system.mapper;

import cn.sytton.taffecloud.common.db.mapper.MasterSqlMapper;
import cn.sytton.taffecloud.service.system.entity.RoleUserEntity;
import cn.sytton.taffecloud.service.system.entity.UserEntity;
import org.springframework.dao.DataAccessException;

import java.util.List;

/**
 * 角色用户mapper
 *
 * @author skyrock
 */
public interface RoleUserMapper extends MasterSqlMapper {

    void create(RoleUserEntity entity) throws DataAccessException;

    /**
     * 根据角色ID查询用户列表
     * @param roleId 角色ID
     * @return 用户列表
     */
    List<UserEntity> findUserList(String roleId);

    /**
     * 根据角色ID查询不在内的用户列表
     * @param roleId 角色ID
     * @return 用户列表
     */
    List<UserEntity> findUserListForExclude(String roleId);

    /**
     * 移除角色用户
     * @param entity userIds, roleId
     */
    void removeUsers(RoleUserEntity entity);
}
